//对于拷贝构造函数 + 构造函数 
#include <iostream>

class MyClass {
public:
    explicit MyClass(int x) {
        std::cout << "Constructor called with " << x << std::endl;
    }
    
    MyClass(const MyClass& other) {
        std::cout << "Copy constructor called" << std::endl;
    }
};

int main() {
    std::cout << "Creating obj1: ";
    MyClass obj1(10);  // 直接构造
    
    std::cout << "Creating obj2: ";
    //MyClass obj2 = 20; // 隐式转换构造
    
    return 0;
}

//对于是否创建临时对象 + 拷贝构造 和 ... 
//这些对于编译器的优化这种东西我们没必要去记住
//我们如果想知道的话，到时候去写构造函数 + 拷贝构造函数去验证
